home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1990 October / 64er_Magazin_90-10_1990_Markt__Technik_de_Side_A.d64 / banking 64 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  20KB  |  618 lines

  1. 100 rem initialisierung
  2. 110 rem
  3. 120 print"[147]"chr$(8)
  4. 130 dimah$(99),az$(99),bu(99)
  5. 140 dimbd$(350),bt$(350),bs$(350)
  6. 150 poke53280,0:poke53281,0:er=58732
  7. 160 rem
  8. 170 rem hauptmenue
  9. 180 rem
  10. 190 printchr$(19)
  11. 200 print"[176][195][195][195][195][195][195][195][195][195][195] banking 64 [146][195][195][195][195][195][195][195][195][195][195][174]"
  12. 210 print"[156] [146]                                [156] [146]"
  13. 220 print"[158][169] [223][146][156][169][146][150][213][195][195][195][195][195][195][195][195][195][195][195][195][201][213][195][195][195][195][195][195][195][195][195][195][195][195][201][146][156][223][146][158][169] [223]"
  14. 230 print" [156] [146][158] 1 [146][156] [146][150][194][155] kto anlage [146][150][194][194][146][155] aenderung  [146][150][194][156] [158] 5 [156] [146]"
  15. 240 print" [158][223] [146][169][156][223][146][150][202][195][195][195][195][195][195][195][195][195][195][195][195][203][202][195][195][195][195][195][195][195][195][195][195][195][195][203][146][156][169][146][158][223] [146][169][146]"
  16. 250 print" [156] [146]                                [156] [146]"
  17. 260 print" [156] [146]                                [156] [146]"
  18. 270 print"[158][169] [223][146][156][169][146][150][213][195][195][195][195][195][195][195][195][195][195][195][195][201][213][195][195][195][195][195][195][195][195][195][195][195][195][201][146][156][223][146][158][169] [223]"
  19. 280 print" [156] [146][158] 2 [146][156] [146][150][194][155] kto rename [146][150][194][194][146][155] auswerten  [146][150][194][156] [158] 6 [156] [146]"
  20. 290 print" [158][223] [146][169][156][223][146][150][202][195][195][195][195][195][195][195][195][195][195][195][195][203][202][195][195][195][195][195][195][195][195][195][195][195][195][203][146][156][169][146][158][223] [146][169][146]"
  21. 300 print"[156] [146]                                [156] [146]"
  22. 310 print"[156] [146]                                [156] [146]"
  23. 320 print"[158][169] [223][146][156][169][146][150][213][195][195][195][195][195][195][195][195][195][195][195][195][201][213][195][195][195][195][195][195][195][195][195][195][195][195][201][146][156][223][146][158][169] [223]"
  24. 330 print" [156] [146][158] 3 [146][156] [146][150][194][155] kto loesch [146][150][194][194][146][155] directory  [146][150][194][156] [158] 7 [156] [146]"
  25. 340 print" [158][223] [146][169][156][223][146][150][202][195][195][195][195][195][195][195][195][195][195][195][195][203][202][195][195][195][195][195][195][195][195][195][195][195][195][203][146][156][169][146][158][223] [146][169][146]"
  26. 350 print"[156] [146]                                [156] [146]"
  27. 360 print"[156] [146]                                [156] [146]"
  28. 370 print"[158][169] [223][146][156][169][146][150][213][195][195][195][195][195][195][195][195][195][195][195][195][201][213][195][195][195][195][195][195][195][195][195][195][195][195][201][146][156][223][146][158][169] [223]"
  29. 380 print" [156] [146][158] 4 [146][156] [146][150][194][155] kto buchen [146][150][194][194][146][155] prg quitt  [146][150][194][156] [158] 8 [156] [146]"
  30. 390 print" [158][223] [146][169][156][223][146][150][202][195][195][195][195][195][195][195][195][195][195][195][195][203][202][195][195][195][195][195][195][195][195][195][195][195][195][203][146][156][169][146][158][223] [146][169][146]"
  31. 400 print"[156] [146]                                [156] [146]"
  32. 410 print"[173][195][192][192][192][195][195][195] von m.wunderlich [146][195][192][192][192][195][195][195][189]"
  33. 420 poke55457,1:poke1185,67:poke55657,1:poke1385,67:poke55857,1:poke1585,67
  34. 430 poke56057,1:poke1785,67:poke55494,1:poke1222,67:poke55694,1:poke1422,67
  35. 440 poke55894,1:poke808,225:poke1622,67:poke56094,1:poke1822,67
  36. 450 geta$:ifa$=""then160
  37. 460 ifa$<chr$(49)ora$>chr$(56)then160
  38. 470 forg=0to600step40:poke55456+g,5:poke1184+g,160:poke55495+g,5
  39. 480 poke1223+g,160:nextg
  40. 490 poke1264,130:poke1303,130:poke1304,129:poke1343,129
  41. 500 poke1344,142:poke1383,142:poke1384,139:poke1423,139
  42. 510 poke1424,137:poke1463,137:poke1464,142:poke1503,142
  43. 520 poke1504,135:poke1543,135:poke1664,182:poke1703,182
  44. 530 poke1704,180:poke1743,180
  45. 540 ifa$="8"then660
  46. 550 open2,8,0:close2:ifst<>-128then580
  47. 560 print"[158][147]  floppy disk ist nicht eingeschaltet"
  48. 570 printspc(9)"[156] - taste druecken - ":wait198,1:poke198,0:clr:goto100
  49. 580 open15,8,15,"i0":input#15,aa,aa$
  50. 590 close15:ifaa=0then610
  51. 600 print"[147][158]bitte disk einlegen & drive schliessen":goto570
  52. 610 ifa$="1"ora$="7"then650
  53. 620 open3,8,3,"banking 64-datei,s,r"
  54. 630 close3:gosub740
  55. 640 ifaa=62thenprint"[147][158]  banking 64 - datei nicht gefunden":goto570
  56. 650 onval(a$)goto1350,2230,2420,2650,3400,4610,1180
  57. 660 rem
  58. 670 rem prg-quitt
  59. 680 rem
  60. 690 print"[147]":poke214,12:syser
  61. 700 print"[158]   return to basic (ja/nein)       [157][157][157][157][157][157]";:yz=4:gosub910
  62. 710 ify$="ja"thensys64738
  63. 720 ify$="nein"thenclr:goto100
  64. 730 goto690
  65. 740 rem
  66. 750 rem fehlerkanal
  67. 760 rem
  68. 770 open15,8,15:input#15,aa,aa$:close15
  69. 780 return
  70. 790 rem
  71. 800 rem funktionsanzeige
  72. 810 rem
  73. 820 print"[147][154]":poke214,0:syser
  74. 830 ifau=2thenprint"nr rename-konten"
  75. 840 ifau=3thenprint"nr scratch-konten"
  76. 850 ifau=4thenprint"nr buch-konten"
  77. 860 ifau=5thenprint"nr buchung-aendern"
  78. 870 ifau=6thenprint"nr kont0-auswerten"
  79. 880 printspc(22)"[145]kontostand  bu's"
  80. 890 print"--------------------------------------":return
  81. 900 rem
  82. 910 rem eingaberoutine
  83. 920 rem
  84. 930 z$="":y$="":print"[164][157]";
  85. 940 getz$:ifz$=""then940
  86. 950 ifz$=chr$(13)andau=90then1160
  87. 960 ifz$=chr$(13)andlen(y$)=0then940
  88. 970 ifz$=chr$(13)then1160
  89. 980 ifz$=chr$(20)andlen(y$)=0then940
  90. 990 ifz$=chr$(20)theny$=left$((y$),len(y$)-1):print" [157][157][164][157]";
  91. 1000 ifz$=chr$(32)andlen(y$)=0then940
  92. 1010 ifz$=chr$(32)then1120
  93. 1020 ifz$=chr$(95)andlen(y$)=0theny$="_":goto1160
  94. 1030 ifyz=1oryz=4oryz=16oryz=20then1090
  95. 1040 ifz$="v"andlen(y$)=0theny$="v":ifyz=2oryz=3then1170
  96. 1050 ifz$="z"andlen(y$)=0theny$="z":ifyz=2oryz=3then1170
  97. 1060 ifz$="-"andlen(y$)=0thenz$="-":ifyz=8then1120
  98. 1070 ifz$="d"andlen(y$)=0thenz$="d":ifyz=2then1170
  99. 1080 ifz$<chr$(48)orz$>chr$(57)then940
  100. 1090 ifz$="+"orz$="-"orz$="."orz$="/"then1120
  101. 1100 ifz$<chr$(48)orz$>chr$(90)then940
  102. 1110 ifz$>chr$(57)andz$<chr$(65)then940
  103. 1120 iflen(y$)=yzthen940
  104. 1130 y$=y$+z$:printz$;:iflen(y$)=yzandyz=1then1170
  105. 1140 iflen(y$)<yzthenprint"[164][157]";
  106. 1150 goto940
  107. 1160 iflen(y$)<yzthenprint" ";
  108. 1170 poke211,0:syser:return
  109. 1180 rem
  110. 1190 rem directory
  111. 1200 rem
  112. 1210 print"[147]":poke214,12:poke211,15:syser:print"directory"
  113. 1220 restore:ad=50002
  114. 1230 readwt:ifwt=-1then1310
  115. 1240 pokead,wt:ad=ad+1:goto1230
  116. 1250 data169,1,162,187,160,195,32,189,255,169,8,133,186,169,96,133,185,32,213
  117. 1260 data243,165,186,32,180,255,165,185,32,150,255,169,0,133,144,32,215,170,160
  118. 1270 data5,132,2,32,165,255,133,251,164,2,136,208,244,32,165,255,164,144,208,41
  119. 1280 data166,251,32,205,189,169,32,32,210,255,32,165,255,166,144,208,24,170,240
  120. 1290 data6,32,210,255,76,150,195,169,13,32,210,255,32,225,255,240,5,160,3,76
  121. 1300 data121,195,32,171,255,76,66,246,36,0,0,0,0,-1
  122. 1310 print"[147]":sys50002
  123. 1320 printspc(28)"[145][156] * return *"
  124. 1330 getd$:ifd$=chr$(13)thenclr:goto100
  125. 1340 goto1330
  126. 1350 rem
  127. 1360 rem anlegen
  128. 1370 rem
  129. 1380 bu=0:ar=0:az$="0":ah$=""
  130. 1390 print"[147][156] anlegen [146]   freie kto:"99-ar"[156]   _ [146] menue"
  131. 1400 open3,8,3,"banking 64-datei,s,r":close3:gosub740:ifaa=0then1450
  132. 1410 ifaa=62thenpoke214,5:syser:print"[158]    banking 64-datei wird angelegt"
  133. 1420 ifaa=62thenopen3,8,3,"banking 64-datei,s,w":close3
  134. 1430 ifaa=62thenpoke214,5:syser:print"                                  "
  135. 1440 ifaa=62then1510
  136. 1450 open3,8,3,"banking 64-datei,s,r"
  137. 1460 ifst=64thenclose3:goto1510
  138. 1470 ar=ar+1:input#3,ah$(ar),az$(ar),bu(ar)
  139. 1480 ifar=90thenprint"[145]    "
  140. 1490 print"[145] anlegen [146][156]   freie kto:"99-ar:poke211,28:syser
  141. 1500 print"[145] _ [146] menue":goto1460
  142. 1510 print"[147][156] anlegen [146]   freie kto:"99-ar"[156]   _ [146] menue"
  143. 1520 ifar=99thenprint"  max. anlage von 99 konten erreicht"
  144. 1530 ifar=99thenprint"  entweder konten loeschen oder neue"
  145. 1540 ifar=99thenprint"  banking 64 diskette verwenden !":goto570
  146. 1550 poke214,5:syser:print"[154]name des kontos: [158]";
  147. 1560 yz=16:gosub910
  148. 1570 ify$="_"andar=0thenopen15,8,15,"s:banking 64-datei":close15
  149. 1580 ify$="_"thenclr:goto100
  150. 1590 poke214,8:syser:print"konto & kontoplan wird neu angelegt"
  151. 1600 open3,8,3,y$+",s,w":close3
  152. 1610 gosub740:ifaa=0then1650
  153. 1620 ifaa=63thenprint"[158][145]floppy meldet: konto bereits vorhanden":goto1640
  154. 1630 print"[147][158]floppy meldet:"aa;aa$
  155. 1640 printspc(9)"[156] - taste druecken - ":wait198,1:poke198,0:goto550
  156. 1650 open3,8,3,"banking 64-datei,s,a"
  157. 1660 print#3,y$:print#3,az$:print#3,bu
  158. 1670 close3:ar=ar+1:goto1510
  159. 1680 rem
  160. 1690 rem kontenplan ausgeben
  161. 1700 rem
  162. 1710 ifzk=29thengosub790:ae=1:af=1:zk=0:goto1790
  163. 1720 print"[147]":poke214,12:syser
  164. 1730 ad=0:ae=1:af=1:ao=0:az$="":ay=0
  165. 1740 open3,8,3,"banking 64-datei,s,r"
  166. 1750 ifst=64thenclose3:gosub790:poke214,2:syser:goto1790
  167. 1760 ad=ad+1:print"[145]      loading kontenplan:";ad
  168. 1770 input#3,ah$(ad),az$(ad),bu(ad)
  169. 1780 ay=ay+val(az$(ad)):goto1750
  170. 1790 mj$=az$(ae)
  171. 1800 ifval(mj$)>=0thenprint"[157]"ae
  172. 1810 ifval(mj$)<0thenprint"[157][150]"ae
  173. 1820 poke211,3:syser:print"[145]"ah$(ae)
  174. 1830 mu=len(mj$):gosub2050
  175. 1840 poke211,18:syser:print"[145]"left$(la$,11)"."right$(la$,2)"  "bu(ae)
  176. 1850 ifae=adoraf=17then1870
  177. 1860 ae=ae+1:af=af+1:goto1790
  178. 1870 print"[154]--------------------------------------"
  179. 1880 print"anz-kto:"ad" gesamt"
  180. 1890 mj$=str$(ay):mu=len(mj$):ifay>=0thenmu=mu-1:mj$=right$(mj$,mu)
  181. 1900 gosub2050:poke211,18:syser
  182. 1910 ifay>=0thenprint"[145]"left$(la$,11)"."right$(la$,2)" haben"
  183. 1920 ifay<0thenprint"[145][150]"left$(la$,11)"."right$(la$,2)" soll"
  184. 1930 print
  185. 1940 print"[158]welche konto-nr.:     (v/z/d)  _[146] menue"
  186. 1950 poke211,18:syser:print"[145]";
  187. 1960 yz=2:gosub910:ify$="_"thenclr:goto100
  188. 1970 ifz$="d"then5850
  189. 1980 ify$="v"andae=adthenprint"[145]":goto1940
  190. 1990 ify$="v"thenaf=0:poke214,2:syser:goto1860
  191. 2000 ify$="z"andae<=17thenprint"[145]":goto1940
  192. 2010 ify$="z"thenae=ae-16-af:af=1:ifae<1thenae=1
  193. 2020 ify$="z"thengosub790:goto1790
  194. 2030 ifval(y$)<1orval(y$)>adthenprint"[145]":goto1940
  195. 2040 return
  196. 2050 ifmu=13thenla$=mj$
  197. 2060 ifmu=12thenla$=""+mj$
  198. 2070 ifmu=11thenla$=""+mj$
  199. 2080 ifmu=10thenla$=""+mj$
  200. 2090 ifmu=9thenla$=""+mj$
  201. 2100 ifmu=8thenla$=""+mj$
  202. 2110 ifmu=7thenla$=""+mj$
  203. 2120 ifmu=6thenla$=""+mj$
  204. 2130 ifmu=5thenla$=""+mj$
  205. 2140 ifmu=4thenla$=""+mj$
  206. 2150 ifmu=1thenla$="00"+mj$
  207. 2160 ifleft$(mj$,1)="-"then2200
  208. 2170 ifmu=3thenla$=""+mj$
  209. 2180 ifmu=2thenla$="0"+mj$
  210. 2190 goto2220
  211. 2200 ifmu=2thenla$="-00"+right$(mj$,1)
  212. 2210 ifmu=3thenla$="-0"+right$(mj$,2)
  213. 2220 return
  214. 2230 rem
  215. 2240 rem rename
  216. 2250 rem
  217. 2260 ah$="":aj$="":at$="":ah=0
  218. 2270 aj=0:au=2:gosub1680
  219. 2280 print"[147] rename [146]          [129] _ [146] berichtigung"
  220. 2290 ah=val(y$):aj$=ah$(ah)
  221. 2300 print"[156]rename konto :  ";ah$(ah)
  222. 2310 print"[154]new kto-name :  ";
  223. 2320 yz=16:gosub910:ify$="_"thenzk=29:goto2230
  224. 2330 at$=y$:ah$(ah)=y$
  225. 2340 open3,8,15,"r:"+at$+"="+aj$:close3
  226. 2350 gosub740:ifaa=0then2380
  227. 2360 print"[158]floppy drive meldet:"aa;aa$
  228. 2370 printspc(9)" - taste druecken - ":wait198,1:poke198,0:goto550
  229. 2380 print"konto & kontenplan wird umgeschrieben  "
  230. 2390 open3,8,3,"@:banking 64-datei,s,w"
  231. 2400 foraj=1toad:print#3,ah$(aj):print#3,az$(aj):print#3,bu(aj):nextaj
  232. 2410 close3:goto2230
  233. 2420 rem
  234. 2430 rem scratch
  235. 2440 rem
  236. 2450 au=3:gosub1680
  237. 2460 ah$="":ak$="":aj=0:ah=0
  238. 2470 print"[147] loeschen [146]":ah=val(y$)
  239. 2480 print"[154]scratch konto : ";ah$(ah)
  240. 2490 print"anz-buchungen :";bu(ah)
  241. 2500 print"richtig (ja/nein)          [157][157][157][157][157][157][157][157]";:yz=4:gosub910
  242. 2510 ify$="ja"then2540
  243. 2520 ify$="nein"thenzk=29:goto2420
  244. 2530 print"[145][145]":goto2500
  245. 2540 open3,8,15,"s:"+ah$(ah):close3
  246. 2550 gosub740:ifaa=0then2580
  247. 2560 print"[158]floppy meldet:"aa;aa$
  248. 2570 printspc(9)" - taste druecken - ":wait198,1:poke198,0:goto550
  249. 2580 print"scratch konto & eintrag im kontenplan  ":ah$(ah)=""
  250. 2590 ifad=1thenopen15,8,15,"s:banking 64-datei":close15:clr:goto100
  251. 2600 open3,8,3,"@:banking 64-datei,s,w"
  252. 2610 foraj=1toad:ifah$(aj)=""then2630
  253. 2620 print#3,ah$(aj):print#3,az$(aj):print#3,bu(aj)
  254. 2630 nextaj
  255. 2640 close3:goto2420
  256. 2650 rem
  257. 2660 rem buchen
  258. 2670 rem
  259. 2680 au=4:gosub1680
  260. 2690 po=0:ah=0:bb=0:bs=0:cc=0:bd$="":bt$="":bs$=""
  261. 2700 ah=val(y$):bb$=az$(ah)
  262. 2710 print"[147][156]";ah$(ah):poke211,22:syser:print"[145]buchung-nr.:"bu(ah)+bb+1
  263. 2720 bz=bu(ah)+bb
  264. 2730 print"---------------------------------------"
  265. 2740 ifbz=350thenprint" max. anlage von 350 buchungen erreicht"
  266. 2750 ifbz=350thenprint" entweder buchungen loeschen oder neues"
  267. 2760 ifbz=350thenprint" konto mit vorsaldo auf disk anlegen !!":goto570
  268. 2770 bb=bb+1:poke214,4:syser
  269. 2780 print"kontostand alt :":mj$=bb$:mu=len(mj$):gosub2050:poke211,21:syser
  270. 2790 ifval(bb$)>=0thenprint"[145]"left$(la$,11)"."right$(la$,2)" dm"
  271. 2800 ifval(bb$)<0thenprint"[145][150]"left$(la$,11)"."right$(la$,2)" dm"
  272. 2810 poke214,7:syser
  273. 2820 print"[154]datum (ttmmjj) :             _[146] ende":poke211,17:syser:print"[145][158]";
  274. 2830 yz=6:gosub910
  275. 2840 ify$="_"thenbb=bb-1:goto3230
  276. 2850 iflen(y$)<6then2810
  277. 2860 ifval(left$(y$,2))<1orval(left$(y$,2))>31then2810
  278. 2870 ifval(left$(y$,2))>29andval(mid$(y$,3,2))=2then2810
  279. 2880 ifval(right$(y$,2))<86orval(right$(y$,2))>99then2810
  280. 2890 ifval(mid$(y$,3,2))<1orval(mid$(y$,3,2))>12then2810
  281. 2900 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=4then2810
  282. 2910 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=6then2810
  283. 2920 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=9then2810
  284. 2930 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=11then2810
  285. 2940 poke214,7:poke211,17:syser
  286. 2950 printleft$(y$,2);".";mid$(y$,3,2)".";right$(y$,2);"          ":bd$(bb)=y$
  287. 2960 poke214,9:syser
  288. 2970 print"[154]buchungstext   : [158]";
  289. 2980 yz=20:gosub910:ify$="_"then2960
  290. 2990 bt$(bb)=y$
  291. 3000 poke214,11:syser
  292. 3010 print"[154]buchungsbetrag : [158]";
  293. 3020 yz=8:gosub910:ify$="-"then3000
  294. 3030 ifval(y$)=0then3000
  295. 3040 poke214,11:poke211,17:syser:print"        ":mj$=y$:mu=len(mj$):gosub2050
  296. 3050 ifval(y$)<0thenprint"[150]"
  297. 3060 ifval(y$)>=0thenprint""
  298. 3070 poke214,11:poke211,21:syser
  299. 3080 printleft$(la$,11)"."right$(la$,2)" dm"
  300. 3090 bs$(bb)=y$:su=val(y$)+val(bb$)
  301. 3100 mj$=str$(su):mu=len(mj$):ifsu>=0thenmu=mu-1:mj$=right$(mj$,mu)
  302. 3110 gosub2050:poke214,14:syser
  303. 3120 print"kontostand neu :"
  304. 3130 poke211,21:syser
  305. 3140 ifval(mj$)>=0thenprint"[145]"left$(la$,11)"."right$(la$,2)" dm"
  306. 3150 ifval(mj$)<0thenprint"[145][150]"left$(la$,11)"."right$(la$,2)" dm"
  307. 3160 print"[156]---------------------------------------"
  308. 3170 print"       - richtig gebucht (j/n) -":
  309. 3180 bw$="":getbw$
  310. 3190 ifbw$="j"thenprint"[158]  es sind noch"350-bu(ah)-bb"buchungen moeglich"
  311. 3200 ifbw$="j"thenforx=1to2000:nextx:bb$=mj$:goto2710
  312. 3210 ifbw$="n"thenbb=bb-1:goto2710
  313. 3220 goto3180
  314. 3230 ifbb=0thenzk=29:goto2650
  315. 3240 print"[156]daten werden an floppy disk uebertragen"
  316. 3250 open3,8,3,ah$(ah)+",s,a":close3
  317. 3260 gosub740:ifaa=0then3330
  318. 3270 print"[147]bitte disk einlegen & drive schliessen"
  319. 3280 printspc(9)" - taste druecken - ":wait198,1:poke198,0:close3
  320. 3290 open15,8,15,"i0":input#15,aa,aa$
  321. 3300 close15:ifaa=0then2710
  322. 3310 print"[147]bitte disk einlegen & drive schliessen"
  323. 3320 printspc(9)" - taste druecken - ":wait198,1:poke198,0:close3:goto2710
  324. 3330 open3,8,3,ah$(ah)+",s,a"
  325. 3340 forcc=1tobb:print#3,bd$(cc):print#3,bt$(cc):print#3,bs$(cc):nextcc:close3
  326. 3350 az$(ah)=bb$:bu(ah)=bu(ah)+bb
  327. 3360 print"bilanz + anzahl buchungen wird geprueft"
  328. 3370 open3,8,3,"@:banking 64-datei,s,w"
  329. 3380 foraj=1toad:print#3,ah$(aj):print#3,az$(aj):print#3,bu(aj):nextaj:close3
  330. 3390 goto2650
  331. 3400 rem
  332. 3410 rem buchung aendern/loeschen
  333. 3420 rem
  334. 3430 au=5:gosub1680
  335. 3440 aw=0:zq=0:ff=0:gg=1
  336. 3450 print"[147]":poke214,8:poke211,8:syser:ah=val(y$)
  337. 3460 print"[156]";ah$(ah)
  338. 3470 ifbu(ah)=0thenprint"keine buchung auf diesem konto vorhanden"
  339. 3480 ifbu(ah)=0thenforx=1to2000:nextx:zk=29:goto3400
  340. 3490 open3,8,3,ah$(ah)+",s,r"
  341. 3500 ifst=64thenclose3:goto3540
  342. 3510 ff=ff+1:poke214,11:poke211,8:syser:print"[145]loading buchung:";ff
  343. 3520 input#3,bd$(ff):input#3,bt$(ff)
  344. 3530 input#3,bs$(ff):goto3500
  345. 3540 ap=1:gg=1
  346. 3550 print"[147][154]";ah$(ah);"  "ff"buchungen"
  347. 3560 print"nr. buchungstext     betraege  tt.mm.jj"
  348. 3570 print"---------------------------------------"
  349. 3580 print"[154][157]"gg:ifbt$(gg)=""then3650
  350. 3590 poke211,4:syser:print"[145]"left$(bt$(gg),12)
  351. 3600 mj$=bs$(gg):mu=len(mj$):gosub2050
  352. 3610 poke211,15:syser
  353. 3620 print"[145]"left$(la$,11)"."right$(la$,2)
  354. 3630 poke211,31:syser:print"[145]"left$(bd$(gg),2)"."mid$(bd$(gg),3,2)".";
  355. 3640 printright$(bd$(gg),2)
  356. 3650 ifgg=ffthen3680
  357. 3660 ifap=10then3680
  358. 3670 gg=gg+1:ap=ap+1:goto3580
  359. 3680 print"[154]---------------------------------------"
  360. 3690 print"[154]welchen satz aendern:     (v/z)  _[146] ende"
  361. 3700 poke211,22:syser:print"[145]";:yz=3:gosub910
  362. 3710 ify$="_"andzq=7then4430
  363. 3720 ify$="_"thenclr:goto100
  364. 3730 ify$="v"andgg=ffthenprint"[145]":goto3690
  365. 3740 ify$="z"andgg<=10thenprint"[145]":goto3690
  366. 3750 ify$="v"thenap=1:gg=gg+1:goto3550
  367. 3760 ify$="z"thengg=gg-9-ap:ap=1:ifgg<1thengg=1
  368. 3770 ify$="z"then3550
  369. 3780 ifval(y$)=0orval(y$)>ffthenprint"[145]":goto3690
  370. 3790 aw=val(y$):bh=val(bs$(aw))/100
  371. 3800 ifbd$(aw)=""then3690
  372. 3810 pq=val(right$(y$,1)):ifpq=0thenpq=10
  373. 3820 ifaw>ggthenprint"[145]":goto3690
  374. 3830 ifaw<gg-ap+1thenprint"[145]":goto3690
  375. 3840 qa=55415+(pq*40)
  376. 3850 forir=1to40:pokeqa+ir,7:next
  377. 3860 print"[156]buchung aendern/loeschen  (a/l)  _[146] nein"
  378. 3870 bw$="":getbw$:ifbw$=""then3870
  379. 3880 ifbw$="a"then3980
  380. 3890 ifbw$="l"then3920
  381. 3900 ifbw$="_"thengg=gg-ap+1:ap=1:goto3550
  382. 3910 goto3870
  383. 3920 print"[129][145]buchung wirklich loeschen ?  (j/n)     "
  384. 3930 bw$="":getbw$:ifbw$=""then3930
  385. 3940 ifbw$="j"thenzq=7:goto3970
  386. 3950 ifbw$="n"thengg=gg-ap+1:ap=1:goto3550
  387. 3960 goto3930
  388. 3970 bd$(aw)="":bt$(aw)="":bs$(aw)="":goto4420
  389. 3980 poke214,17:syser:print"datum : ";left$(bd$(aw),2)"."mid$(bd$(aw),3,2)".";
  390. 3990 printright$(bd$(aw),2)
  391. 4000 poke211,30:syser:print"[145](j/n)"
  392. 4010 poke214,19:syser:print"text  : ";bt$(aw)
  393. 4020 poke211,30:syser:print"[145](j/n)"
  394. 4030 poke214,21:syser:print"summe : ";:ifbh<0thenprint;bh
  395. 4040 ifbh>=0thenprint"[157]";bh
  396. 4050 poke214,21:poke211,30:syser:print"(j/n)"
  397. 4060 poke214,17:poke211,36:syser:print;
  398. 4070 yz=1:gosub910:ify$="j"then4100
  399. 4080 ify$="n"then4250
  400. 4090 poke214,17:poke211,30:syser:print"(j/n)  ":goto4060
  401. 4100 poke214,17:poke211,8:syser:zq=7
  402. 4110 print"        ":poke211,8:syser:print"[145]";
  403. 4120 yz=6:gosub910
  404. 4130 iflen(y$)<6then4100
  405. 4140 ifval(left$(y$,2))<1orval(left$(y$,2))>31then4100
  406. 4150 ifval(left$(y$,2))>29andval(mid$(y$,3,2))=2then4100
  407. 4160 ifval(right$(y$,2))<86orval(right$(y$,2))>99then4100
  408. 4170 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=6then4100
  409. 4180 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=9then4100
  410. 4190 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=11then4100
  411. 4200 ifval(left$(y$,2))>30andval(mid$(y$,3,2))=4then4100
  412. 4210 ifval(mid$(y$,3,2))<1orval(mid$(y$,3,2))>12then4100
  413. 4220 poke214,17:syser:print"datum : ";left$(y$,2)"."mid$(y$,3,2)".";
  414. 4230 printright$(y$,2)
  415. 4240 bd$(aw)=y$
  416. 4250 poke214,19:poke211,36:syser:print;
  417. 4260 yz=1:gosub910:ify$="j"then4290
  418. 4270 ify$="n"then4320
  419. 4280 poke214,19:poke211,30:syser:print"(j/n)  ":goto4250
  420. 4290 poke214,19:poke211,8:syser:zq=7
  421. 4300 print"                    ":poke211,8:syser:print"[145]";
  422. 4310 yz=20:gosub910:bt$(aw)=y$
  423. 4320 poke214,21:poke211,36:syser:print;
  424. 4330 yz=1:gosub910:ify$="n"then4420
  425. 4340 ify$="j"then4360
  426. 4350 poke214,21:poke211,30:syser:print"(j/n)  ":goto4320
  427. 4360 poke214,21:poke211,7:syser:zq=7
  428. 4370 print"          [157][157][157][157][157][157][157][157][157]";:yz=8
  429. 4380 gosub910
  430. 4390 ify$="-"then4360
  431. 4400 ifval(y$)=0then4360
  432. 4410 bs$(aw)=y$
  433. 4420 gg=gg-ap+1:ap=1:goto3550
  434. 4430 open3,8,3,"banking 64-datei,s,r":close3:gosub740:ifaa=0then4460
  435. 4440 print"floppy meldet:"aa;aa$
  436. 4450 printspc(9)" - taste druecken - ":wait198,1:poke198,0:goto4420
  437. 4460 print"[156]veraendertes konto wird gespeichert !!!"
  438. 4470 open3,8,3,"@:"+ah$(ah)+",s,w"
  439. 4480 forwu=1toff:ifbd$(wu)=""then4500
  440. 4490 print#3,bd$(wu):print#3,bt$(wu):print#3,bs$(wu)
  441. 4500 nextwu
  442. 4510 close3
  443. 4520 print"[129]bilanz + anzahl buchungen wird geprueft":bm=0:bs=0:bn$="":ki=0
  444. 4530 forwm=1toff:ifbd$(wm)=""then4550
  445. 4540 bs=bs+val(bs$(wm)):bm=bm+1
  446. 4550 nextwm
  447. 4560 bn$=str$(bs):ki=len(bn$):ifbs>=0thenki=ki-1:bn$=right$(bn$,ki)
  448. 4570 bu(ah)=bm:az$(ah)=bn$
  449. 4580 open3,8,3,"@:banking 64-datei,s,w"
  450. 4590 foraj=1toad:print#3,ah$(aj):print#3,az$(aj):print#3,bu(aj):nextaj:close3
  451. 4600 clr:goto100
  452. 4610 rem
  453. 4620 rem auswertung
  454. 4630 rem
  455. 4640 au=6:gosub1680
  456. 4650 ga=0:gb=0:gc=0:gd=0:ge=0:gg=0:gs=0:gt=0:ff=0:ah=val(y$)
  457. 4660 gf=0:gh=0:ra=0:rb=0:gz=0:ww=0
  458. 4670 print"[147][156]":poke214,8:poke211,8:syser:printah$(ah)
  459. 4680 ifbu(ah)=0thenprint"keine buchung auf diesem konto vorhanden"
  460. 4690 ifbu(ah)=0thenforx=1to2000:nextx:zk=29:goto4610
  461. 4700 open3,8,3,ah$(ah)+",s,r"
  462. 4710 ifst=64thenclose3:goto4750
  463. 4720 ff=ff+1:poke214,11:poke211,8:syser:print"[145]loading buchung:";ff
  464. 4730 input#3,bd$(ff):input#3,bt$(ff)
  465. 4740 input#3,bs$(ff):goto4710
  466. 4750 print"[147][156]auswertung ";ah$(ah)
  467. 4760 print"[129]tag..... :"
  468. 4770 print"monat... :"
  469. 4780 print"jahr.... :"
  470. 4790 print"text.... :"
  471. 4800 print"betrag < :"
  472. 4810 print"betrag > :"
  473. 4820 print"betrag = :"
  474. 4830 print"taste 'return' bewirkt keine selection"
  475. 4840 print"--------------------------------------":au=90:dr=0:qb=0
  476. 4850 printspc(15)"_[146] menue"
  477. 4860 poke214,4:poke211,11:syser:yz=2:gosub910
  478. 4870 ifz$="_"thenclr:goto100
  479. 4880 ifz$=chr$(13)andlen(y$)=0then4920
  480. 4890 ifval(y$)<1orval(y$)>31thenpoke214,4:poke211,11:print"  ":goto4860
  481. 4900 iflen(y$)<2thenpoke214,4:poke211,11:print"  ":goto4860
  482. 4910 ga$=y$:ga=5
  483. 4920 poke214,6:poke211,11:syser:yz=2:gosub910:ifz$=chr$(13)andlen(y$)=0then4960
  484. 4930 ifval(y$)<1orval(y$)>12thenpoke214,6:poke211,11:print"  ":goto4920
  485. 4940 iflen(y$)=1thenpoke214,6:poke211,11:print"  ":goto4920
  486. 4950 gb$=y$:gb=5
  487. 4960 poke214,8:poke211,11:syser:yz=2:gosub910:ifz$=chr$(13)andlen(y$)=0then5000
  488. 4970 ifval(y$)<86orval(y$)>99thenpoke214,8:poke211,11:print"  ":goto4960
  489. 4980 iflen(y$)=1thenpoke214,8:poke211,11:print"  ":goto4960
  490. 4990 gc$=y$:gc=5
  491. 5000 poke214,10:poke211,11:syser
  492. 5010 yz=20:gosub910:ifz$=chr$(13)andlen(y$)=0then5030
  493. 5020 gt$=y$:gt=5:gd=len(y$)
  494. 5030 poke214,12:poke211,11:syser:yz=8:gosub910:ify$="-"then5030
  495. 5040 ifz$=chr$(13)andlen(y$)=0then5090
  496. 5050 gs$=y$:gs=5
  497. 5060 poke214,12:poke211,10:syser:print"                                "
  498. 5070 poke214,12:poke211,10:syser:qb=val(gs$)/100:ifqb<0thenprint"[156] "qb:goto5220
  499. 5080 print""qb:goto5220
  500. 5090 poke214,14:poke211,11:syser:yz=8:gosub910:ify$="-"then5090
  501. 5100 ifz$=chr$(13)andlen(y$)=0then5150
  502. 5110 gf$=y$:gf=5:ra=len(y$)
  503. 5120 poke214,14:poke211,10:syser:print"                                "
  504. 5130 poke214,14:poke211,10:syser:qb=val(gf$)/100:ifqb<0thenprint"[156] "qb:goto5220
  505. 5140 print""qb:goto5220
  506. 5150 poke214,16:poke211,11:syser:yz=8:gosub910:ify$="-"then5150
  507. 5160 ifz$=chr$(13)andlen(y$)=0then5220
  508. 5170 ifval(y$)=0thenpoke214,16:poke211,11:print"         ":goto5150
  509. 5180 gh$=y$:gh=5:rb=len(y$)
  510. 5190 poke214,16:poke211,10:syser:print"                           "
  511. 5200 poke214,16:poke211,10:syser:qb=val(gh$)/100:ifqb<0thenprint"[156] "qb:goto5220
  512. 5210 print""qb
  513. 5220 poke214,23:syser:print" return [146][156] monitor  d [146][156] drucker  _ [146][156] menue"
  514. 5230 getwf$:ifwf$="d"thendr=5:goto5270
  515. 5240 ifwf$=chr$(13)then5270
  516. 5250 ifwf$="_"then5790
  517. 5260 goto5230
  518. 5270 ifdr=5thenopen1,4,0:close1
  519. 5280 ifdr=5andst=-128thenprint"[156][147]drucker ist nicht empfangsbereit."
  520. 5290 ifdr=5andst=-128thenprint"ausgabe erfolgt daher auf ihrem monitor"
  521. 5300 ifdr=5andst=-128thenforwd=1to2000:nextwd:dr=0
  522. 5310 ifdr=5thenclose4:open4,4
  523. 5320 ifdr=5thenprint#4,"--------------------------------------------"
  524. 5330 ifdr=5thenprint#4,"tt.mm.jj  text-kontenbewegungen     betraege"
  525. 5340 ifdr=5thenprint#4,"--------------------------------------------"
  526. 5350 print"[147][154]auswertung "ah$(ah)
  527. 5360 print"text-kontenbewegung  betraege  tt.mm.jj"
  528. 5370 print"---------------------------------------"
  529. 5380 forgg=1toff
  530. 5390 ifga=5andleft$(bd$(gg),2)<>ga$then5560
  531. 5400 ifgb=5andmid$(bd$(gg),3,2)<>gb$then5560
  532. 5410 ifgc=5andright$(bd$(gg),2)<>gc$then5560
  533. 5420 ifgt=5andleft$(bt$(gg),gd)<>gt$then5560
  534. 5430 ifgs=5andval(bs$(gg))>val(gs$)then5560
  535. 5440 ifgf=5andval(bs$(gg))<val(gf$)then5560
  536. 5450 ifgh=5and(bs$(gg))<>gh$then5560
  537. 5460 bs=val(bs$(gg)):su=su+bs:rr=rr+1
  538. 5470 ifbs<0thenprint"[150]"bt$(gg)
  539. 5480 ifbs>=0thenprint""bt$(gg)
  540. 5490 mj$=bs$(gg):mu=len(mj$):gosub2050
  541. 5500 poke211,15:syser:print"[145]"left$(la$,11)"."right$(la$,2)
  542. 5510 poke211,31:syser:print"[145]"left$(bd$(gg),2)"."mid$(bd$(gg),3,2)".";
  543. 5520 printright$(bd$(gg),2)
  544. 5530 ifdr=5thengosub5810
  545. 5540 ifrr=17anddr=5then5750
  546. 5550 ifrr=17then5570
  547. 5560 nextgg
  548. 5570 print"[154]---------------------------------------"
  549. 5580 ifrr=17thenprint"zwischensumme":goto5600
  550. 5590 print"gesamtsumme"
  551. 5600 printspc(32)"[145]_[146] ende"
  552. 5610 ifdr=5thenprint#4,"--------------------------------------------"
  553. 5620 ifdr=5thenprint#4,ah$(ah);:lu=len(ah$(ah)):lw=23-lu
  554. 5630 ifdr=5andsu>=0thenprint#4,spc(lw)"haben :";
  555. 5640 ifdr=5andsu<0thenprint#4,spc(lw)"soll : ";
  556. 5650 mj$=str$(su):mu=len(mj$):ifsu>=0thenmu=mu-1:mj$=right$(mj$,mu)
  557. 5660 ifdr=5thengosub6080
  558. 5670 ifdr=5thenprint#4,left$(la$,11)"."right$(la$,2)
  559. 5680 gosub2050:poke211,15:syser:
  560. 5690 ifsu>=0thenprint"[145]"left$(la$,11)"."right$(la$,2)
  561. 5700 ifsu<0thenprint"[145][150]"left$(la$,11)"."right$(la$,2)
  562. 5710 ifdr=5thenprint#4,"--------------------------------------------"
  563. 5720 ifdr=5thenprint#4:close4
  564. 5730 yu$="":getyu$:ifyu$=""then5730
  565. 5740 ifyu$="_"then5790
  566. 5750 ifrr=17thenpoke214,4:syser:fortu=1to20
  567. 5760 ifrr=17thenprint"                                       ":nexttu
  568. 5770 ifrr=17thenpoke214,4:syser:rr=0:goto5560
  569. 5780 goto5730
  570. 5790 bs=0:su=0:rr=0:gd=0:ge=0:ra=0:rb=0:gh=0:gf=0:gs=0:gt=0:gc=0:gb=0:ga=0
  571. 5800 ga$="":gb$="":gc$="":gt$="":gs$="":gf$="":gh$="":goto4750
  572. 5810 print#4,left$(bd$(gg),2)"."mid$(bd$(gg),3,2)"."right$(bd$(gg),2)"  ";
  573. 5820 print#4,bt$(gg);:lu=len(bt$(gg)):ly=20-lu:mu=len(bs$(gg)):mj$=bs$(gg)
  574. 5830 print#4,spc(ly);:pc=5:goto6080
  575. 5840 print#4,left$(la$,11)"."right$(la$,2):return
  576. 5850 open1,4,0:close1
  577. 5860 ifst=-128thenprint"[156][147]   drucker ist nicht empfangsbereit."
  578. 5870 ifst=-128thenformm=1to2500:next
  579. 5880 ifst=-128thenzk=29:goto1680
  580. 5890 close4:open4,4
  581. 5900 print#4," --------------------------------------------"
  582. 5910 print#4," nr kontobezeichnung    kontostand  buchungen"
  583. 5920 print#4," --------------------------------------------"
  584. 5930 forgq=1toad
  585. 5940 print#4,gq;
  586. 5950 ifgq<10thenprint#4," ";
  587. 5960 print#4,ah$(gq);:lu=len(ah$(gq)):ly=16-lu:print#4,spc(ly);
  588. 5970 mj$=az$(gq):mu=len(mj$):gosub6080
  589. 5980 print#4,left$(la$,11)"."right$(la$,2)"    "bu(gq)
  590. 5990 nextgq
  591. 6000 print#4," --------------------------------------------"
  592. 6010 print#4," gesamtsumme in dm :";
  593. 6020 mj$=str$(ay):mu=len(mj$):ifay>=0thenmu=mu-1:mj$=right$(mj$,mu)
  594. 6030 gosub6080
  595. 6040 print#4,left$(la$,11)"."right$(la$,2);:ifay<0thenprint#4,"    soll"
  596. 6050 ifay>=0thenprint#4,"    haben"
  597. 6060 print#4," --------------------------------------------":print#4:close4
  598. 6070 zk=29:goto1680
  599. 6080 ifmu=13thenla$=mj$
  600. 6090 ifmu=12thenla$=" "+mj$
  601. 6100 ifmu=11thenla$="  "+mj$
  602. 6110 ifmu=10thenla$="   "+mj$
  603. 6120 ifmu=9thenla$="    "+mj$
  604. 6130 ifmu=8thenla$="     "+mj$
  605. 6140 ifmu=7thenla$="      "+mj$
  606. 6150 ifmu=6thenla$="       "+mj$
  607. 6160 ifmu=5thenla$="        "+mj$
  608. 6170 ifmu=4thenla$="         "+mj$
  609. 6180 ifmu=1thenla$="          00"+mj$
  610. 6190 ifleft$(mj$,1)="-"then6230
  611. 6200 ifmu=3thenla$="          "+mj$
  612. 6210 ifmu=2thenla$="          0"+mj$
  613. 6220 goto6250
  614. 6230 ifmu=2thenla$="         -00"+right$(mj$,1)
  615. 6240 ifmu=3thenla$="         -0"+right$(mj$,2)
  616. 6250 ifpc=5thenpc=0:goto5840
  617. 6260 return
  618.